#ifndef LOGINWINDOW_H
#define LOGINWINDOW_H

#include <QWidget>
#include <QPushButton>
#include <QTextEdit>
#include <QLabel>
#include<QLineEdit>
#include <QMap>
#include <QPair>
#include <QStringList>

class LoginWindow : public QWidget
{
    Q_OBJECT

public:
    explicit LoginWindow(QWidget *parent = nullptr);
    ~LoginWindow() = default;

private slots:
    void onLoginButtonClicked();
    void onPreviousPageButtonClicked();
    void onNextPageButtonClicked();

private:
    void updatePage();
    QLineEdit *usernameLineEdit;
    QLineEdit *passwordLineEdit;
    QPushButton *loginButton;
    QPushButton *previousPageButton;
    QPushButton *nextPageButton;
    QTextEdit *infoTextEdit;
    QLabel *backgroundLabel; // 添加背景标签到类中
    QMap<QString,QString> m;
    QMap<QString,QString> mm;
    QMap<QString, QPair<QPair<QString, QString>, QStringList>> userData; // 用户数据，每个角色5个背景图
    bool bo ;
    int pageSum;
    int pageCurr;
    int mapCurr;
    QStringList pages;                  //  分页后的文本。

    QString YanZheng;

    QMap<QString, QStringList> backgroundImages; // 每个用户名对应的五张背景图片
    void Change(QString str,QPushButton* button);
    void Change(QString str,QLineEdit* edit);
    void Change(QString str,QTextEdit*edit);
private slots:
    void startTimer();
    void updateTimer();
    void onTimerComplete();
    void showReminder();

private:
    QTimer *timer;            // 定时器对象
    int secondsRemaining;     // 剩余秒数
    int reminderCount;        // 提醒次数
    bool flagTime;
};

#endif // LOGINWINDOW_H
